package com.zoffy.catdiarybackend.config;

import com.zoffy.catdiarybackend.websocket.ArticleWebSocket;
import com.zoffy.catdiarybackend.websocket.SocketAuthInterceptor;
import jakarta.annotation.Resource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.config.annotation.*;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;

@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
    @Resource
    private ArticleWebSocket articleWebSocket;
    @Resource
    private SocketAuthInterceptor socketAuthInterceptor;
    @Bean
    public ServerEndpointExporter serverEndpointExporter(){
        return new ServerEndpointExporter();
    }


    @Override
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
        registry.addHandler(articleWebSocket,"/ws-article").addInterceptors(socketAuthInterceptor);
    }
}
